import unittest

# from common.read_data import build_add_data_2
from unitTest.day10.cases.common.read_data import build_add_data
from unitTest.day10.cases.common.read_data import build_add_data_1
from unitTest.day10.cases.common.read_data import build_add_data_2


from tools import add
# from .tools import add
# from parameterized import parameterized
from parameterized import parameterized


#
# data = [(1, 1, 2), (1, 2, 3), (2, 3, 5), (4, 5, 9)]


# class TestAdd(unittest.TestCase):
#     @parameterized.expand(build_add_data())
#     # @parameterized.expand(build_add_data_1())
#     # @parameterized.expand(build_add_data_2())
#     def test_add(self, a, b, expect):
#         print(f'a:{a}, b:{b}, expect：{expect}')
#         self.assertEqual(expect, add(a, b))
class TestAdd(unittest.TestCase):

    # @parameterized.expand(build_add_data())
    # def test_add(self, a, b, expect):
    #     print(f"a:{a}, b:{b}, expect:{expect}")
    #     self.assertEqual(expect, add(a, b))

    # @parameterized.expand(build_add_data_1())
    # def test_add2(self, a, b, expect):
    #     print(f"a: {a}, b:{b}, expect:{expect}")
    #     self.assertEqual(expect, add(a, b))

    @parameterized.expand(build_add_data_2())
    def test_add3(self, a, b, expect):
        print(f"a: {a}, b: {b}, expect: {expect}")
        self.assertEqual(int(expect), add(int(a), int(b)))

# if __name__ == '__main__':
#     unittest.main()

if __name__ == '__main__':
    # unittest.main()
    print(build_add_data())

